The CLAY index (Clay Minerals Ratio) enhances clay-rich and hydrothermally altered rocks
using shortwave infrared (SWIR) bands. It is widely used in geological mapping and soil studies
to highlight clay minerals compared to surrounding materials.
1. Concept & Equation of CLAY
The CLAY (Clay Minerals Ratio) index relies on the diagnostic absorption features of
hydrous clay minerals in the shortwave-infrared region. Clay and alunite-rich rocks absorb
more strongly in SWIR2 than in SWIR1, so their ratio highlights clay-rich pixels.
General Equation
For broadband multispectral sensors (e.g., Landsat, Sentinel-2), a simple and widely used
clay ratio is:
CLAY = SWIR1 / SWIR2Dimensionless ratio
Where:
SWIR1 – shortwave infrared band 1 (around 1.55–1.75 µm)
SWIR2 – shortwave infrared band 2 (around 2.08–2.35 µm)
Typical Interpretation
CLAY Value (relative)
Interpretation (context-dependent)
Low (≈ 0.8 or less)
Weak clay signal, possibly sandy or non-clay materials
Moderate (~0.8 – 1.1)
Mixed lithology or moderate clay content
High (> 1.1)
Clay-rich or hydrothermally altered rocks, higher clay mineral content
Thresholds should always be calibrated with field data, reference spectra,
or local geological information.
2. Data & Practical Use of CLAY
Common Sensors & Bands
Landsat 8/9 OLI
SWIR1: B6 (~1.6 µm)
SWIR2: B7 (~2.2 µm)
Sentinel-2 MSI
SWIR1: B11 (1610 nm)
SWIR2: B12 (2190 nm)
Typical Applications
Mapping hydrothermally altered rocks and clay caps
Supporting mineral exploration and lithological mapping
Soil studies where clay content is relevant to texture and fertility
Good Practice
Use surface reflectance products and mask clouds/shadows.
Apply CLAY mainly over exposed rocks or bare soil (vegetation & water can distort the signal).
Always validate with field data, geological maps, or lab spectroscopy where possible.
Soil & GeologyClay MineralsSWIR Ratio
3. Google Earth Engine Code – CLAY (SWIR1 / SWIR2)
Steps: open code.earthengine.google.com → New Script → paste the code →
draw your AOI as geometry → Run → then export CLAY as GeoTIFF from the Tasks tab.
// CLAY – Clay Minerals Ratio Index (SWIR1 / SWIR2)
// Example using Sentinel-2 SR in Google Earth Engine
// --------------------------------------------------
// 1) Go to: https://code.earthengine.google.com
// 2) Click "New Script" and paste this code.
// 3) On the map: draw your AOI (Polygon/Rectangle).
// It will appear as a variable named 'geometry' in the left panel.
// 4) Click "Run" to display CLAY.
// 5) In the Tasks tab, click "Run" to export CLAY to Google Drive.
// -------------------------------------------------------
// 1. Define Area of Interest (AOI)
// -------------------------------------------------------
var roi = geometry; // Make sure a 'geometry' object exists
// Center the map on the AOI
Map.centerObject(roi, 9);
// -------------------------------------------------------
// 2. Select Sentinel-2 Surface Reflectance collection
// -------------------------------------------------------
var startDate = '2021-01-01';
var endDate = '2021-12-31';
// Simple cloud filter based on metadata percentage
var s2 = ee.ImageCollection('COPERNICUS/S2_SR')
.filterBounds(roi)
.filterDate(startDate, endDate)
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
.median()
.clip(roi);
// -------------------------------------------------------
// 3. Compute CLAY index: SWIR1 / SWIR2
// For Sentinel-2: SWIR1 = B11, SWIR2 = B12
// -------------------------------------------------------
var swir1 = s2.select('B11');
var swir2 = s2.select('B12');
var clay = swir1.divide(swir2).rename('CLAY');
// -------------------------------------------------------
// 4. Visualization
// -------------------------------------------------------
var clayVis = {
min: 0.8,
max: 1.3,
palette: [
'#2c7bb6', // low
'#ffffbf',
'#d7191c' // high (clay-rich)
]
};
Map.addLayer(clay, clayVis, 'CLAY (SWIR1 / SWIR2)', true);
// Optional: True color for context
var rgb = ee.ImageCollection('COPERNICUS/S2_SR')
.filterBounds(roi)
.filterDate(startDate, endDate)
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
.select(['B4','B3','B2'])
.median()
.clip(roi);
Map.addLayer(rgb, {min:0, max:3000}, 'True Color (RGB)', false);
// -------------------------------------------------------
// 5. Export CLAY as GeoTIFF to Google Drive
// -------------------------------------------------------
Export.image.toDrive({
image: clay,
description: 'CLAY_Export',
fileNamePrefix: 'CLAY_SWIR1_SWIR2',
region: roi,
scale: 20, // Sentinel-2 SWIR bands are 20 m
crs: 'EPSG:4326',
maxPixels: 1e13
});
// End of CLAY index script